Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Test driven



  A Python Optimization Anecdote

Hi! I’m Pavel and I interned at Dropbox over the past summer. One of my biggest projects during this internship was optimizing Python for dynamic page generation on the website. By the end of the summer, I optimized many of dropbox.com’s pages to render 5 times faster. This came with a fair share of challenges though, which I’d like to write about today:The ProblemDropbox is a large website with lots of dynamically generated pages. The more pages that are dynamically generat...

   Python,Anecodate,Optimization,Efficiency     2011-10-25 10:33:20

  etcd installation and usage

etcd is an open source and highly available distributed key-value storage system and is commonly used in critical data storage and service discovery and registration use cases. It is focusing on: Simple: well-defined, user-facing API (gRPC) Secure: automatic TLS with optional client cert authentication Fast: benchmarked 10,000 writes/sec Reliable: properly distributed using Raft etcd and Redis both support key-value storage and can be set up in distributed systems. Also Redis supporst more key...

   ETCD,TUTORIAL,RAFT,DISTRIBUTED SYSTEM     2021-03-07 03:10:33

  Communicating Between Widgets in a Rich Internet Application

As a part of our October Free Dojo Support initiative, we received the following question from Manu Subramanian about how to manage communication between distinct components in a rich internet application: We are building an application with dojo. It does have many inter connected interface parts. For example it does have a top bar with drop down buttons. The menu items opens tabs in a tab controller. In general we need to call functions from different widgets or there are many interconne...

   Internet application,Rick internet,Widget,comminucation     2012-03-16 10:49:36

  GET, POST, and safely surfacing more of the web

As the web evolves, Google’s crawling and indexing capabilities also need to progress. Weimproved our indexing of Flash, built a more robust infrastructure called Caffeine, and we even started crawling forms where it makes sense. Now, especially with the growing popularity of JavaScript and, with it, AJAX, we’re finding more web pages requiring POST requests -- either for the entire content of the page or because the pages are missing information and/or look completely br...

   HTML,Get,Post,Form,SEO,Index,Search engine     2011-11-02 12:48:47

  Example on integrating TypeScript with Webpack

TypeScript is now a very popular language to create typed JavaScript code to reduce development error. It provides a type system on top of JavaScript which has only a weak type system. Once the TypeScript code is developed, it can be compiled into corresponding JavaScript so that they can be loaded and parsed by browser. Webpack is another tool for bundling multiple JS files into a single one so that no multiple connections to be established between browser and server. when a page is loaded This...

   TYPESCRIPT,WEBPACK,JAVASCRIPT,EXAMPLE     2021-03-13 21:31:29

  File System vs Core Data: the image cache test

Code for this project is on GitHub While doing a full re-write of Droplr's iOS app for the 2.0 launch, I couldn't find any good file/image caches out there had a particular feature I really wanted: extending item expiration whenever it's touched. I set out to write my own — which wasn't that much of a challenge — but somewhere along the process I had this crazy idea that perhaps (SQLite-backed) Core Data would be a much better tool for the job: No mismatch between cache index ...

   File system.Image cache,Multimedia     2012-02-01 08:52:02

  How Computers Boot Up

The previous post described motherboards and the memory map in Intel computers to set the scene for the initial phases of boot. Booting is an involved, hacky, multi-stage affair – fun stuff. Here’s an outline of the process: An outline of the boot sequence Things start rolling when you press the power button on the computer (no! do tell!). Once the motherboard is powered up it initializes its own firmware – the chipset and other tidbits – and tries to ...

   Computer,Boot-up,Rationale     2012-04-11 13:43:02

  Comparing Floating Point Numbers, 2012 Edition

We’ve finally reached the point in this series that I’ve been waiting for. In this post I am going to share the most crucial piece of floating-point math knowledge that I have. Here it is:[Floating-point] math is hard.You just won’t believe how vastly, hugely, mind-bogglingly hard it is. I mean, you may think it’s difficult to calculate when trains from Chicago and Los Angeles will collide, but that’s just peanuts to floating-point math.Seriously. Each ti...

   Floating point number,Comparison,True value     2012-02-23 07:11:03

  Python Performance Tips, Part 1

To read the Zen of Python, type import this in your Python interpreter. A sharp reader new to Python will notice the word “interpreter”, and realize that Python is another scripting language. “It must be slow!” No question about it: Python program does not run as fast or efficiently as compiled languages. Even Python advocates will tell you performance is the area that Python is not good for. However, YouTube has proven Python is capable of serving 40 million videos...

   Python,Performance,Efficiency,Tips     2012-02-14 10:50:22

  insertAdjacentHTML() Enables Faster HTML Snippet Injection

In Firefox 8, we’ve added support for insertAdjacentHTML(). It’s an ancient feature of Internet Explorer that has recently been formalized in HTML5 and then spun out into the DOM Parsing specification. The bad news is that Firefox is the last major browser to implement this feature. The good news is that since other major browsers implement it already, you can start using it unconditionally as soon as the Firefox 8 update has been rolled out to users.Basic Usage...

   InsertAjacentHTML,Firefox,HTML5,DOM     2011-11-10 10:52:00